-- card: 35573 from stack: in -- bmap block id: 0 -- flags: 0000 -- background id: 4755 -- name: -- part contents for background part 4 ----- text ----- with the function pointer, although ANSI C allows the '*' to be omitted! The following function takes one function pointer and one float as arguments, and returns the result of applying the function pointed to by the function pointer twice. float perform_twice(float (*func_ptr)(float),float value) { return (*func_ptr)((*func_ptr)(value)); } The calling function passes the address of the desired function as an argument to the called function. As with array identifiers, the function identifier itself represents its address - the '&' operator is not needed. The calling function may pass the square() function to perform_twice() as an argument, in order to find the 4th power of a value: fourth_power = perform_twice(square,original_value); -- part contents for background part 7 ----- text ----- 99